Deadlock and Starvation Free Reentrant Readers-Writers

نویسندگان

  • Bernard van Gastel
  • Leonard Lensink
  • Sjaak Smetsers
  • Marko van Eekelen
چکیده

The classic readers-writers problem has been extensively studied. This holds to a lesser degree for the reentrant version, where it is allowed to nest locking actions. Such nesting is useful when a library is created with various procedures each starting and ending with a lock operation. Allowing nesting makes it possible for these procedures to call each other. We considered an existing widely used industrial implementation of the reentrant readers-writers problem. Staying close to the original code, we modeled and analyzed it using a model checker resulting in the detection of a serious error: a possible deadlock situation. The model was improved and checked satisfactorily for a fixed number of processes. To achieve a correctness result for an arbitrary number of processes the model was converted to a specification that was proven with a theorem prover. Furthermore, we studied starvation. Using model checking we found a starvation problem. We have fixed the problem and checked the solution. Combining model checking with theorem proving appeared to be very effective in reducing the time of the verification process.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reentrant Readers - Writers

The classic readers-writers problem has been extensively studied. This holds to a lesser degree for the reentrant version, where it is allowed to nest locking actions. Such nesting is useful when a library is created with various procedures that each start and end with a lock. Allowing nesting makes it possible for these procedures to call each other. We considered an existing widely used indus...

متن کامل

Process Synchronization with Readers and Writers Revisited

The readers-writers problem is one of the very well known problems in concurrency theory. It was first introduced by Courtois et.al. in 1971 1 and requires the synchronization of processes trying to read and write a shared resource. Several readers are allowed to access the resource simultaneously, but a writer must be given exclusive access to that resource. Courtois et.al. gave semaphore-base...

متن کامل

Towards fair, scalable, locking

Without care, Hardware Transactional Memory presents several performance pathologies that can degrade its performance. Among them, writers of commonly read variables can suffer from starvation. Though different solutions have been proposed for HTM systems, hybrid systems can still suffer from this performance problem, given that software transactions don’t interact with the mechanisms used by h...

متن کامل

Deadlock Avoidance Policy in Mobile Wireless Sensor Networks with Free Choice Resource Routing

Efficient control schemes are required for effective cooperation of robot teams in a mobile wireless sensor network. If the robots (resources) are also in charge of executing multiple simultaneous missions, then risks of deadlocks due to the presence of shared resources among different missions increase and have to be tackled. Discrete event control with deadlock avoidance has been used in the ...

متن کامل

The Generalized Deadlock Resolution Problem

In this paper we initiate the study of the AND-OR directed feedback vertex set problem from the viewpoint of approximation algorithms. This ANDOR feedback vertex set problem is motivated by a practical deadlock resolution problem that appears in the development of distributed database systems. This problem also turns out be a natural generalization of the directed feedback vertex set problem. A...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010